﻿using System;
using System.Collections.Generic;

namespace YJKWndrStatisticsExcel.AreaTable.StatisticControler
{
	public class HouseSuiteAreaStatisticalData
	{
		public HouseSuiteAreaStatisticalData(HouseSuiteAreaStatisticalData rhs)
		{
			this.m_SuiteNumbName = rhs.m_SuiteNumbName;
			this.m_SuiteName = rhs.m_SuiteName;
			this.m_SuiteUseArea = rhs.m_SuiteUseArea;
			this.m_BalconyArea = rhs.m_BalconyArea;
			this.m_SuiteArchArea = rhs.m_SuiteArchArea;
			this.m_PublicArea = rhs.m_PublicArea;
			this.m_SuiteCountInfoListByFloor = rhs.m_SuiteCountInfoListByFloor;
			this.m_Footing = rhs.m_Footing;
		}

		public HouseSuiteAreaStatisticalData(string suiteNumbName, string suiteName, double suiteUseArea, double publicArea, double suiteArchArea, double balconyArea, List<SuiteCountInfoByFloor> suiteCountInfoListByFloor, int footing)
		{
			this.m_SuiteNumbName = suiteNumbName;
			this.m_SuiteName = suiteName;
			this.m_SuiteUseArea = suiteUseArea.ToString("f2");
			this.m_BalconyArea = balconyArea.ToString("f2");
			this.m_SuiteArchArea = suiteArchArea.ToString("f2");
			this.m_PublicArea = publicArea.ToString("f2");
			this.m_SuiteCountInfoListByFloor = suiteCountInfoListByFloor;
			this.m_Footing = footing;
		}

		public List<string> ToStrList()
		{
			List<string> list = new List<string>();
			list.Add(this.m_SuiteNumbName);
			list.Add(this.m_SuiteName);
			list.Add(this.m_SuiteUseArea);
			list.Add(this.m_PublicArea);
			list.Add(this.m_SuiteArchArea);
			list.Add(this.m_BalconyArea);
			foreach (SuiteCountInfoByFloor suiteCountInfoByFloor in this.m_SuiteCountInfoListByFloor)
			{
				list.Add(suiteCountInfoByFloor.m_Count.ToString());
			}
			list.Add(this.m_Footing.ToString());
			return list;
		}

		public void ToGridCellList(ref int startRowIndex, ref List<CellInfo> cells)
		{
			int num = 0;
			cells.Add(CellInfo.NewSingleCellInfo(startRowIndex, num++, this.m_SuiteNumbName));
			cells.Add(CellInfo.NewSingleCellInfo(startRowIndex, num++, this.m_SuiteName));
			cells.Add(CellInfo.NewSingleCellInfo(startRowIndex, num++, this.m_SuiteUseArea));
			cells.Add(CellInfo.NewSingleCellInfo(startRowIndex, num++, this.m_PublicArea));
			cells.Add(CellInfo.NewSingleCellInfo(startRowIndex, num++, this.m_SuiteArchArea));
			cells.Add(CellInfo.NewSingleCellInfo(startRowIndex, num++, this.m_BalconyArea));
			foreach (SuiteCountInfoByFloor suiteCountInfoByFloor in this.m_SuiteCountInfoListByFloor)
			{
				cells.Add(CellInfo.NewSingleCellInfo(startRowIndex, num++, suiteCountInfoByFloor.m_Count.ToString()));
			}
			cells.Add(CellInfo.NewSingleCellInfo(startRowIndex, num++, this.m_Footing.ToString()));
			startRowIndex++;
		}

		public string m_SuiteNumbName;

		public string m_SuiteName;

		public string m_SuiteUseArea;

		public string m_PublicArea;

		public string m_SuiteArchArea;

		public string m_BalconyArea;

		public List<SuiteCountInfoByFloor> m_SuiteCountInfoListByFloor;

		public int m_Footing;
	}
}
